- 
                Notifications
    You must be signed in to change notification settings 
- Fork 21.5k
api/bind: Add CallOpts.BlockHash to allow calling contracts at a specific block hash #28084
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
| @MariusVanDerWijden Mind hitting merge for me? :) | 
| We've discussed this last week. Should be ok, but it creates a strange asymmetric API. Would be nice to add the "AtHash" methods for everything (code, balance, nonce, etc). | 
| 
 @karalabe Added  | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SGTM!
…ific block hash (ethereum#28084) * api/bind: Add CallOpts.BlockHash to allow calling contracts at a specific block hash. * ethclient: Add BalanceAtHash, NonceAtHash and StorageAtHash functions
…t a specific block hash (ethereum#28084)" This reverts commit 9f7f4a7.
…t a specific block hash (ethereum#28084)" This reverts commit 9f7f4a7.
…ific block hash (ethereum#28084) * api/bind: Add CallOpts.BlockHash to allow calling contracts at a specific block hash. * ethclient: Add BalanceAtHash, NonceAtHash and StorageAtHash functions
…71c907d1dc6504ed32a9161e71351 Merge Geth master updates starting from 766272f ending by 16ce7bf. The list of PRs that are important for us: - ethereum/go-ethereum#28147 removal of rollback mechanism in downloader. We may still need this mechanism since we're pre-merge and allow forks; - ethereum/go-ethereum@3dc45a3 related to release pipeline, example of pre-release version update; - ethereum/go-ethereum@dc34fe8 related to release pipeline, example of post-release version update; - ethereum/go-ethereum#28098 BLOBBASEFEE opcode implemented as a part of Cancun (we have to support it eventually); - ethereum/go-ethereum#28195 introduce new Cancun-related block fields to eth tools; - ethereum/go-ethereum#28243 introduce blob transactions support for internal eth services; - ethereum/go-ethereum#28084 allows to invoke contract at specific block hash, may be useful for Governance contract integration; - ethereum/go-ethereum#28538 Dockerfile.alltools update example, just to remember that it should be in sync with Dockerfile; - ethereum/go-ethereum#28605 Improved Cancun- and Shanghai- related consensus verification. Although we must enable Shanghai and Cancun in dBFT, this PR is a hint of what should be changed wrt Clique/Ethash implementation for this; - ethereum/go-ethereum#28549 GitHub actions are added for tests; - ethereum/go-ethereum#27766 Beacon Committee chain implementation (light chain that is able to verify signed blocks once synced); Signed-off-by: Anna Shaleva <[email protected]>
…1dc6504ed32a9161e71351 Merge Geth master updates starting from 766272f ending by 99dc3fe (v1.13.11 stable release). The list of PRs that are important for us: - ethereum/go-ethereum#28147 removal of rollback mechanism in downloader. We may still need this mechanism since we're pre-merge and allow forks; - ethereum/go-ethereum@3dc45a3 related to release pipeline, example of pre-release version update; - ethereum/go-ethereum@dc34fe8 related to release pipeline, example of post-release version update; - ethereum/go-ethereum#28098 BLOBBASEFEE opcode implemented as a part of Cancun (we have to support it eventually); - ethereum/go-ethereum#28195 introduce new Cancun-related block fields to eth tools; - ethereum/go-ethereum#28243 introduce blob transactions support for internal eth services; - ethereum/go-ethereum#28084 allows to invoke contract at specific block hash, may be useful for Governance contract integration; - ethereum/go-ethereum#28538 Dockerfile.alltools update example, just to remember that it should be in sync with Dockerfile; - ethereum/go-ethereum#28605 Improved Cancun- and Shanghai- related consensus verification. Although we must enable Shanghai and Cancun in dBFT, this PR is a hint of what should be changed wrt Clique/Ethash implementation for this; - ethereum/go-ethereum#28549 GitHub actions are added for tests; - ethereum/go-ethereum#27766 Beacon Committee chain implementation (light chain that is able to verify signed blocks once synced); Signed-off-by: Anna Shaleva <[email protected]>
…ific block hash (ethereum#28084) * api/bind: Add CallOpts.BlockHash to allow calling contracts at a specific block hash. * ethclient: Add BalanceAtHash, NonceAtHash and StorageAtHash functions
Adds
BlockHashtoCallOptsso contract bindings can be used to call contracts at a specific block hash. Previously only block number or pending was supported.Backwards compatibility is preserved by introducing a new
BlockHashContractCallerinterface with theCallContractAtHashandCodeAtHashmethods required from the backend, following a similar pattern toPendingContractCaller. Simulated backend is updated to support the new methods andCodeAtHashhas been added toethclient.Client- it already supportedCallContractAtHash.Fixes #28017